export default {
  extends: ['@commitlint/config-conventional'],
  rules: {
    // 类型枚举
    'type-enum': [
      2,
      'always',
      [
        'feat', // 新功能
        'fix', // 修复bug
        'docs', // 文档更新
        'style', // 代码格式（不影响代码运行的变动）
        'refactor', // 重构（既不是新增功能，也不是修改bug的代码变动）
        'perf', // 性能优化
        'test', // 增加测试
        'chore', // 构建过程或辅助工具的变动
        'ci', // CI配置文件和脚本的变动
        'build', // 影响构建系统或外部依赖的变动
        'revert', // 回滚
        'wip', // 工作进行中
        'workflow', // 工作流改进
        'types', // 类型定义文件更改
        'release', // 发布版本
      ],
    ],
    // 主题不能为空
    'subject-empty': [2, 'never'],
  },
  // 自定义提示信息
  prompt: {
    messages: {
      type: '选择你要提交的类型:',
      scope: '选择一个scope (可选):',
      customScope: '请输入自定义的scope:',
      subject: '填写简短精炼的变更描述:\n',
      body: '填写更加详细的变更描述 (可选)。使用 "|" 换行:\n',
      breaking: '列举非兼容性重大的变更 (可选):\n',
      footer: '列举出所有变更的 ISSUES CLOSED (可选)。 例如: #31, #34:\n',
      confirmCommit: '确认提交?',
    },
    types: [
      { value: 'feat', name: 'feat:     ✨ 新功能' },
      { value: 'fix', name: 'fix:      🐛 修复bug' },
      { value: 'docs', name: 'docs:     📝 文档更新' },
      { value: 'style', name: 'style:    💄 代码格式(不影响代码运行)' },
      { value: 'refactor', name: 'refactor: ♻️  重构代码' },
      { value: 'perf', name: 'perf:     ⚡️ 性能优化' },
      { value: 'test', name: 'test:     ✅ 增加测试' },
      { value: 'chore', name: 'chore:    🔧 构建过程或辅助工具的变动' },
      { value: 'ci', name: 'ci:       👷 CI配置文件和脚本变动' },
      { value: 'build', name: 'build:    📦️ 构建系统或外部依赖变动' },
      { value: 'revert', name: 'revert:   ⏪️ 回滚' },
      { value: 'wip', name: 'wip:      🚧 工作进行中' },
      { value: 'workflow', name: 'workflow: 📋 工作流改进' },
      { value: 'types', name: 'types:    🏷️  类型定义文件更改' },
      { value: 'release', name: 'release:  🚀 发布版本' },
    ],
  },
};
